/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2024 All Rights Reserved.
 */
package com.alipay.demo.util;

import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

/**
 * 本地缓存（模拟持久层，非必须）
 *
 * @author jishupei.jsp
 * @version : CacheConfig, v0.1 2024年03月20日 11:44 上午 jishupei.jsp Exp $
 */
@Configuration
public class CacheConfig {
    @Bean
    public Cache<String, Object> caffeineCache() {
        return Caffeine.newBuilder()
                // 设置48小时内没有操作（包括写入、更新或读取）则失效（设置大一点，用于模拟持久层）
                .expireAfterAccess(48, TimeUnit.HOURS)
                // 缓存的最大条数
                .maximumSize(1000)
                .build();
    }
}
